// 缓存 存的值要转成 string，尤其是对象必须转成字符串,否则在快手小程序上不支持

// 缓存的存,取,清 都通过这个来处理，方便对缓存的统一管理，这里统一处理 缓存的是字符串

// 如果要新增缓存key，在keys中添加一个即可，key，value字符串要一样
export const keys = {
	// 设备系统信息
	StorageSystemInfo: "StorageSystemInfo",

	
	// 继续在下面增加新的缓存key
}

// 设置缓存 key,value,
export const set = function(key, value, duration) {

	if (value) {
		if (duration && duration > 0) {
			let obj = {
				value: value,
				expireDate: Date.now() + duration
			}

			uni.setStorageSync(key, JSON.stringify(obj));
		} else {
			let obj = {
				value: value,
			}
			uni.setStorageSync(key, JSON.stringify(obj));
		}
	} else {
		clear(key)
	}
}
// 获取缓存
export const get = function(key) {
	let res = uni.getStorageSync(key);
	if (res) {
		let obj = null;
		if (typeof(res) == 'object') {
			obj = res;
		} else if (typeof(res) == 'string') {
			obj = JSON.parse(res)
		}
		if (obj) {
			if (obj.expireDate) {
				if (obj.expireDate >= Date.now()) {
					return obj.value
				}
			} else {
				return obj.value
			}
		}

	}
	clear(key)
	return null
}
// 清除缓存
export const clear = function(key) {
	uni.removeStorageSync(key);
}